using System;
using System.ComponentModel;
using System.Runtime.Serialization;

using VSTalk.Tools;

namespace VSTalk.Model
{
    [DataContract]
    public class Room : INotifyPropertyChanged
    {
        private Guid _id;
        private string _name;
        private string _nickname;
        private string _server;

        [DataMember]
        public Guid Id
        {
            get { return _id; }
            set
            {
                _id = value;
                PropertyChanged.Notify(() => Id);
            }
        }

        [DataMember]
        public string Name
        {
            get { return _name; }
            set
            {
                _name = value;
                PropertyChanged.Notify(() => Name);
            }
        }

        [DataMember]
        public string Nickname
        {
            get { return _nickname; }
            set
            {
                _nickname = value;
                PropertyChanged.Notify(() => Nickname);
            }
        }

        [DataMember]
        public string Server
        {
            get { return _server; }
            set
            {
                _server = value;
                PropertyChanged.Notify(() => Server);
            }
        }
        
        public event PropertyChangedEventHandler PropertyChanged;
    }
}